Skip to content

Automatically show English website for if browser is English #1659

Closed
david-jones10 wants to merge 3 commits intosigndict:mainfrom
david-jones10:main
Closed

Automatically show English website for if browser is English #1659
david-jones10 wants to merge 3 commits intosigndict:mainfrom
david-jones10:main

Conversation

@david-jones10
Copy link
Copy Markdown

Addressing #228.

Hi @bitboxer ,

This MR offers a proposed solution to the above linked ticket.

It connects to the plug Plug.Accepts to access accept-language from the HTTP request headers when fetching the page. Then, it updates get_user_locale to attempt to read from the headers. If this fails, it falls back to the existing behaviour for fetching from user definition.

Please do test this thoroughly as I had some issues when running SignDict locally. I don't believe they were related to the changes, but as the owner I expect you'll have better luck running the environment fully compared to me!

Please let me know if there's any issues/changes you'd like to see.

Best,
David

Browser language is sent in request headers under Accept-Language. This change connects to the Plug.Accepts plug to allow the app to parse the Accepts headers, including the Accept-Language header. This will then give access to this information where the app decides which language to serve, to make a more accurate decision.
Updates get_user_locale to attempt to get locale from the HTTP request headers. If not, falls back to existing behaviour of attempting to read from conn object, finally returning nothing if none found.
connect to Plug.Accepts to access Accept-Language
@bitboxer
Copy link
Copy Markdown
Member

@david-jones10 thanks for this PR. It would be awesome if you add a test for this.

@david-jones10 david-jones10 closed this by deleting the head repository Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants